package com.rules.admin.expression;


import com.rules.admin.expression.operators.*;
import com.rules.admin.expression.operators.arithmetic.*;
import com.rules.admin.expression.operators.conditional.*;
import com.rules.admin.expression.operators.relational.*;
import com.rules.admin.expression.value.*;


public interface ExpressionVisitor {
   void vistor(Expression var1);

   void vistor(Addition var1);

   void vistor(Division var1);

   void vistor(Modulo var1);

   void vistor(Multiplication var1);

   void vistor(AndExpression var1);

   void vistor(OrExpression var1);

   void vistor(Contains var1);

   void vistor(Equals var1);

   void vistor(EqualsIgnoreCase var1);

   void vistor(EqualsTrim var1);

   void vistor(Exist var1);

   void vistor(GreaterEqualsThan var1);

   void vistor(GreaterThan var1);

   void vistor(IfElseWhile var1);

   void vistor(InSection var1);

   void vistor(IsNull var1);

   void vistor(MemberOf var1);

   void vistor(MinorEqualsThan var1);

   void vistor(MinorThan var1);

   void vistor(NotContains var1);

   void vistor(NotEndAt var1);

   void vistor(NotEquals var1);

   void vistor(NotExist var1);

   void vistor(NotMemberOf var1);

   void vistor(NotNull var1);

   void vistor(NotStartAt var1);

   void vistor(RegexMatch var1);

   void vistor(Parenthesis var1);

   void vistor(ArrayValue var1);

   void vistor(BooleanValue var1);

   void vistor(DoubleValue var1);

   void vistor(FloatValue var1);

   void vistor(IntValue var1);

   void vistor(LongValue var1);

   void vistor(NullValue var1);

   void vistor(StringValue var1);

   void vistor(Value var1);

   void vistor(Attribute var1);

   void vistor(BinaryExpression var1);

   void vistor(Deduction var1);

   void vistor(ElseExpression var1);

   void vistor(ElseIfExpression var1);

   void vistor(ExecuteExpression var1);

   void vistor(Fact var1);

   void vistor(IfExpression var1);

   void vistor(Import var1);

   void vistor(InsertExpression var1);

   void vistor(ModifyContextExpression var1);

   void vistor(Package var1);

   void vistor(Property var1);

   void vistor(RuleAssemblyExpression var1);

   void vistor(RuleExpression var1);

   void vistor(RulePackageExpression var1);

   void vistor(SetModel var1);

   void vistor(SetValue var1);

   void vistor(VariableExpression var1);
}
